#ifndef __DRV_SPI_W25QXX_H_
#define __DRV_SPI_W25QXX_H_

#ifdef __cplusplus
extern "C"
{
#endif

#include "system.h"




/* export func */

uint32_t drv_spi_w25qxx_read_id(void);
void drv_spi_w25qxx_read(uint32_t addr, uint8_t *pbuffer, uint16_t size);
void drv_spi_w25qxx_write_nocheck(uint32_t addr, uint8_t *pbuffer, uint16_t size);
void drv_spi_w25qxx_write(uint32_t addr, uint8_t *pbuffer, uint16_t size);
void drv_spi_w25qxx_erase_sector(uint32_t addr);
uint32_t drv_spi_w25qxx_get_sector_from_addr(uint32_t addr);

int drv_spi_w25qxx_init(void);

void drv_spi_w25qxx_lock(void);
void drv_spi_w25qxx_unlock(void);

void drv_spi_w25qxx_read_test(uint32_t addr);


#ifdef __cplusplus
}
#endif

#endif // __DRV_SPI_W25QXX_H_
